Performance Characterization of the FreeBSD Network Stack
نویسندگان
چکیده
This paper analyzes the behavior of high-performance web servers along three axes: packet rate, number of connections, and communication latency. Modern, high-performance servers spend a significant fraction of time executing the network stack of the operating system—over 80% of the time for a web server. These servers must handle increasing packet rates, increasing numbers of connections, and the long round trip times of the Internet. Low overhead, non-statistical profiling shows that a large number of connections and long latencies degrade instruction throughput of the operating system network stack significantly. This degradation results from a dramatic increase in L2 cache capacity misses because the working set size of connection data structures grows in proportion to the number of connections and their reuse decreases as communication latency increases. For instance, L2 cache misses increase the number of cycles spent executing the TCP layer of the network stack by over 300% from 1312 cycles per packet to 5364. The obvious solutions of increasing the L2 cache size or using prefetching to reduce the number of misses are surprisingly ineffective.
منابع مشابه
Tuning and Testing the FreeBSD 6 TCP Stack
Tuning an operating system’s network stack is crucial in order to achieve optimum performance from network intensive applications. This report discusses some of the key factors that affect network performance of FreeBSD 6.x based hosts. It then goes on to explain how to tune the FreeBSD 6.x network stack and how to easily test and evaluate the changes made.
متن کاملImplementing a Clonable Network Stack in the FreeBSD Kernel
Traditionally, UNIX operating systems have been equipped with monolithic network stack implementations, meaning all user processes have to cooperatively share a single networking subsystem. The introduction of the network stack cloning model enables the kernel to simultaneously maintain multiple independent and isolated network stack instances. Combined with forcible binding of user processes t...
متن کاملEvaluating the FreeBSD 9.x Modular Congestion Control Framework's Performance Impact
Modular congestion control (modCC) is a recently added feature to the FreeBSD kernel. The implementation introduced a number of key changes to the TCP stack with the potential to impact performance. We test the relative performance of TCP before and after these changes using the 215163 and 217806 Subversion repository revisions of FreeBSD’s “head” (9.x) development branch respectively. We find ...
متن کاملIntroduction to Multithreading and Multiprocessing in the FreeBSD SMPng Network Stack
The FreeBSD SMPng Project has spent the past five years redesigning and reimplementing SMP support for the FreeBSD operating system, moving from a Giant-locked kernel to a fine-grained locking implementation with greater kernel threading and parallelism. This paper introduces the FreeBSD SMPng Project, its architectural goals and implementation approach. It then explores the impact of SMPng on ...
متن کاملDesign and Implementation of a Firewire Device Driver on FreeBSD
A Firewire device driver has been implemented on FreeBSD system. The driver provides IP network stack, native socket system interface, and stream device interface such as a DV video. The device driver shows enough performance on the IP over Firewire environment at 30Mbps. Also, DV video communication application using IP has been developed with the device driver and it enebles DV quality commun...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2005